package com.das.mechanic_base.mvp.contract.process;

import com.das.mechanic_base.base.X3IBaseView;
import com.das.mechanic_base.bean.alone.AloneImageAndRecordBean;
import com.das.mechanic_base.bean.custrecord.RecordTempBean;
import com.das.mechanic_base.bean.processsive.ProcessSBean;
import com.das.mechanic_base.bean.processsive.ProcessSnBean;

import java.io.File;
import java.util.List;

/**
 * 作者：zhanglei on 2020-03-23 00:42
 * <p>
 * 邮箱：916256628@qq.com
 */
public interface CustRecordContract {

    interface View extends X3IBaseView {

        /**
         * 获取工序成功
         */
        void requestTempListSuccess(List<RecordTempBean> recordTempBeanList);

        /**
         * 成功获取标准题库
         *
         * @param processSnBeans
         */
        void setNewRecAdapter(List<ProcessSnBean> processSnBeans);

        /**
         * 获取题库的id
         */
        int providerId();

        String provideTitle();

        boolean provideStandOrNot();

        /**
         * 获取是否上传过答案
         * @return
         */
        boolean provideAnswer();

        /**
         * 返回效验结果
         */
        void validStartStepSuccess(boolean isCover);

        /**
         * 获取题库的sn[]
         *
         * @return
         */
        String providerTechnic();

        /**
         * 返回效验结果
         */
        void validProceStepSuccess(boolean date);

        /**
         * 更新图片成功
         * @param aloneImageAndRecordBean
         * @param titleIndex
         * isUpload 是否是上传图片  false为删除图片
         */
        void getUpdatePictureSuccess(AloneImageAndRecordBean aloneImageAndRecordBean, int titleIndex, boolean isUpload);

        void saveWorkStepListView();

        /**
         * 当前页面是否被销毁
         * @return
         */
        Boolean isViewFinishing();

        /**
         * 删除自定义工序成功
         * @param sn
         */
        void delWorkStepSuccess(String sn);
    }

    interface Presenter {

        /**
         * 请求工序
         */
        void requestProceTempList();

        /**
         * 获取非标准工序的题库
         */
        void obtainProcedureTemplist(String[] attr);

        /**
         * 返回效验结果
         */
        void validProceStepSuccess(String date);

        /**
         * 进入的时候就开始校验 效验是否提交过
         */
        void validStartStep(String technicSn);

        /**
         * 上传或者删除图片
         * @param resId
         * isUpload 是否是上传图片  false为删除图片
         */
        void saveOrUpdateWorkResource(long resId,int titleIndex,boolean isUpload,String serviceSn,String filePath);

        /**
         * 上传标准工序/非标图片
         */
        void saveWorkStepList(List<ProcessSBean> siveProBeans);

        /**
         * 删除自定义工序
         * @param sn
         * @param serviceSn
         */
        void delWorkStep(String sn,String serviceSn);

        /**
         * 上传文件
         * @param imgFile
         * @param titleIndex
         * @param serviceSn
         */
        void uploadAwsImage(File imgFile, int titleIndex, String serviceSn);
    }
}
